<?php
namespace App\Repository\Contracts;

/**
 * @Author:: HuangYin
 * @DateTime: 2017-01-16 13:40
 *
 * @Description: 会员
 */
interface MemberInterface
{
    /**
     * 创建
     *
     * @param array $data
     * @return mixed
     */
    public function created(array $data);

    /**
     * 详情
     *
     * @param $uid
     * @param bool $isLocal
     * @return mixed
     */
    public function detail($uid, $isLocal = false);

    /**
     * 根据手机号查找用户信息
     *
     * @param $phone
     * @return mixed
     */
    public function findByPhone($phone);

    /**
     * 根据卡号查找用户信息
     *
     * @param $number
     * @return mixed
     */
    public function findByNumber($number);

    /**
     * 列表
     *
     * @param       $limit
     * @param       $page
     * @param array $map
     * @return mixed
     */
    public function lists($limit, $page, $map = []);

    /**
     * 更新
     *
     * @param       $id
     * @param array $data
     * @return mixed
     */
    public function updated($id, array $data);

    /**
     * 最大 ID
     *
     * @return mixed
     */
    public function findIdForFirst();

    /**
     * 更新积分
     *
     * @param $uid
     * @param $integral
     * @return mixed
     */
    public function updateIntegral($uid, $integral);

    /**
     * 更新余额
     *
     * @param $uid
     * @param $money
     * @return mixed
     */
    public function updateMoney($uid, $money);
}